Servlet API এর ধারণা

Java Technologies - সার্ভলেটস (Servlets) - Servlet আর্কিটেকচার
218

Servlet API কি?

Servlet API হল একটি ইন্টারফেস এবং ক্লাসগুলির একটি সংগ্রহ যা সার্ভলেট তৈরি এবং পরিচালনা করতে সহায়তা করে। এটি Java EE (Enterprise Edition) এর একটি অংশ এবং ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। Servlet API সরাসরি ওয়েব সার্ভার এবং সার্ভলেট কন্টেইনারের মধ্যে যোগাযোগ পরিচালনা করে। এই API-র সাহায্যে, ডেভেলপাররা HTTP রিকোয়েস্ট এবং রেসপন্স প্রক্রিয়া করার জন্য সার্ভলেট তৈরি করতে পারেন, যা সাধারণত ওয়েব অ্যাপ্লিকেশনের লজিক্যাল কম্পোনেন্ট হিসেবে কাজ করে।

Servlet API মূলত দুটি প্যাকেজের অন্তর্ভুক্ত:

  1. javax.servlet: এটি সার্ভলেট API এর মূল প্যাকেজ, যা সার্ভলেট এবং অন্যান্য কনটেইনার কনফিগারেশনকে সমর্থন করে।
  2. javax.servlet.http: এটি HTTP-ভিত্তিক সার্ভলেট এবং তার সহায়ক ক্লাসগুলি সমর্থন করে। এটি HTTP প্রোটোকল ব্যবহার করে রিকোয়েস্ট এবং রেসপন্স প্রক্রিয়া করার জন্য প্রয়োজনীয় API সরবরাহ করে।

Servlet API এর উপাদান

Servlet API এর বিভিন্ন উপাদান রয়েছে যা ওয়েব অ্যাপ্লিকেশন তৈরির সময় ডেভেলপারদের কাজের জন্য খুবই গুরুত্বপূর্ণ। এখানে কিছু মূল উপাদান আলোচনা করা হলো:

১. Servlet Interface

Servlet Interface হল Servlet API এর ভিত্তি, যা একটি সার্ভলেটের জন্য প্রয়োজনীয় মেথডগুলো সংজ্ঞায়িত করে। সার্ভলেট ক্লাসকে এই ইন্টারফেস ইমপ্লিমেন্ট করতে হয়।

Main Methods:

  • init(): সার্ভলেট কন্টেইনার সার্ভলেট ইনস্ট্যান্স তৈরির পর একবার কল করা হয়। এটি ইনিশিয়ালাইজেশন সেটিংস বা রিসোর্স লোড করার জন্য ব্যবহৃত হয়।
  • service(): এটি HTTP রিকোয়েস্ট প্রোসেস করতে ব্যবহৃত হয়। সার্ভলেট কন্টেইনার এই মেথডটিকে কল করে এবং ইনকামিং রিকোয়েস্ট এবং রেসপন্স অবজেক্ট পাস করে।
  • destroy(): যখন সার্ভলেট কন্টেইনার সার্ভলেটটি বন্ধ করে তখন এটি কল হয়, যাতে সার্ভলেটের রিসোর্স ক্লিনআপ করা যায়।

২. HttpServlet Class

HttpServlet হল javax.servlet.http প্যাকেজের একটি ক্লাস যা Servlet ইন্টারফেস ইমপ্লিমেন্ট করে। এটি HTTP প্রোটোকল ব্যবহার করে ডেটা প্রোসেস করার জন্য বিশেষভাবে ডিজাইন করা। এটি doGet(), doPost(), doPut(), doDelete() ইত্যাদি মেথড সরবরাহ করে, যা HTTP মেথডের সাথে সম্পর্কিত।

Main Methods:

  • doGet(): এটি HTTP GET রিকোয়েস্ট প্রোসেস করার জন্য ব্যবহৃত হয়।
  • doPost(): এটি HTTP POST রিকোয়েস্ট প্রোসেস করার জন্য ব্যবহৃত হয়।
  • doPut(): এটি HTTP PUT রিকোয়েস্ট প্রোসেস করার জন্য ব্যবহৃত হয়।
  • doDelete(): এটি HTTP DELETE রিকোয়েস্ট প্রোসেস করার জন্য ব্যবহৃত হয়।

৩. ServletRequest Interface

ServletRequest Interface সার্ভলেট এবং সার্ভলেট কন্টেইনারের মধ্যে রিকোয়েস্ট তথ্য পাঠানোর জন্য ব্যবহৃত হয়। এই ইন্টারফেসটি সার্ভলেটকে ইনকামিং রিকোয়েস্টের সাথে সম্পর্কিত বিভিন্ন তথ্য প্রদান করে, যেমন রিকোয়েস্ট প্যারামিটার, হেডার, কুকি ইত্যাদি।

Main Methods:

  • getParameter(): রিকোয়েস্ট প্যারামিটার দ্বারা মান ফেরত দেয়।
  • getHeader(): HTTP হেডার থেকে মান ফেরত দেয়।

৪. ServletResponse Interface

ServletResponse Interface হল একটি ইন্টারফেস যা সার্ভলেটকে রিকোয়েস্টের উত্তর পাঠানোর জন্য ব্যবহৃত হয়। এই ইন্টারফেসটি সার্ভলেট কন্টেইনারে রেসপন্স অবজেক্টের বিভিন্ন প্রোপার্টি এবং আচরণ সরবরাহ করে।

Main Methods:

  • getWriter(): HTTP রেসপন্সের জন্য একটি PrintWriter অবজেক্ট প্রদান করে, যা কনটেন্ট আউটপুট করতে ব্যবহৃত হয়।
  • setContentType(): রেসপন্সের কনটেন্ট টাইপ সেট করে, যেমন text/html, application/json ইত্যাদি।

৫. ServletConfig Interface

ServletConfig Interface সার্ভলেটের জন্য ইনিশিয়াল কনফিগারেশন সেটআপ সংরক্ষণ করার জন্য ব্যবহৃত হয়। এটি সার্ভলেটের ইনস্ট্যান্স তৈরি হওয়ার সময় সঠিক কনফিগারেশন পাওয়ার জন্য ব্যবহার করা হয়।

Main Methods:

  • getInitParameter(): ইনিশিয়াল কনফিগারেশন প্যারামিটার ফেরত দেয়।
  • getServletContext(): সার্ভলেট কন্টেক্সট অবজেক্ট প্রদান করে, যা অ্যাপ্লিকেশনের গ্লোবাল কনফিগারেশন ধারণ করে।

৬. ServletContext Interface

ServletContext Interface হল একটি ইন্টারফেস যা সার্ভলেটের মধ্যে অ্যাপ্লিকেশনের গ্লোবাল কনফিগারেশন সেটআপ এবং অ্যাক্সেস করতে ব্যবহৃত হয়। এটি সার্ভলেট কন্টেইনারের সাথে সম্পর্কিত বিভিন্ন তথ্য ধারণ করে।

Main Methods:

  • getRequestDispatcher(): রিকোয়েস্ট ডিসপ্যাচার তৈরি করতে ব্যবহৃত হয়, যা রিকোয়েস্টকে একটি নির্দিষ্ট রিসোর্সে ফরওয়ার্ড করতে সাহায্য করে।
  • log(): লগ মেসেজ পাঠাতে ব্যবহৃত হয়।

Servlet API এর ব্যবহার

Servlet API ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরি করা বেশ সহজ। একটি সার্ভলেট তৈরি করতে আপনাকে মূলত Servlet ইন্টারফেস অথবা HttpServlet ক্লাস ইমপ্লিমেন্ট করতে হবে। নিচে একটি সহজ সার্ভলেট উদাহরণ দেয়া হলো:

Servlet Example (HelloWorldServlet.java)

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class HelloWorldServlet extends HttpServlet {

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // Set content type
        response.setContentType("text/html");

        // Get PrintWriter object to send data to client
        PrintWriter out = response.getWriter();

        // Write message to client
        out.println("<html><body>");
        out.println("<h1>Hello, World!</h1>");
        out.println("</body></html>");
    }
}

এখানে:

  • doGet(): HTTP GET রিকোয়েস্ট প্রোসেস করতে ব্যবহৃত হয়। ক্লায়েন্ট যখন GET রিকোয়েস্ট পাঠায়, তখন এটি রান হবে এবং রেসপন্স হিসেবে হ্যালোওয়ার্ল্ড HTML পেজ পাঠাবে।
  • PrintWriter: এটি রেসপন্সে কনটেন্ট পাঠানোর জন্য ব্যবহৃত হয়।

Web.xml Configuration (web.xml)

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">

    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <servlet-class>com.example.HelloWorldServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
</web-app>

এখানে:

  • <servlet>: সার্ভলেটের নাম এবং ক্লাস কনফিগার করা হয়েছে।
  • <servlet-mapping>: সার্ভলেটের URL প্যাটার্ন কনফিগার করা হয়েছে, যেমন /hello

সার্ভলেট API এর সুবিধা

  1. Platform Independence: সার্ভলেট Java ভিত্তিক হওয়ায় এটি যেকোনো প্ল্যাটফর্মে চালানো যেতে পারে।
  2. Scalability: সার্ভলেট গুলি ওয়েব অ্যাপ্লিকেশনের জন্য উপযুক্ত, এবং সহজে স্কেল করা যায়।
  3. High Performance: সার্ভলেট ওয়েব অ্যাপ্লিকেশনের জন্য দক্ষ এবং দ্রুত কাজ করে, কারণ এটি সার্ভার সাইডে রান হয়।
  4. Extensibility: সার্ভলেটের মাধ্যমে ওয়েব অ্যাপ্লিকেশন তৈরি করা সহজ এবং একে অতিরিক্ত ফিচার যোগ করার জন্য আরও উন্নত করা যায়।
  5. Security: সার্ভলেট কন্টেইনার SSL, Authentication এবং Authorization এর মতো অনেক সিকিউরিটি ফিচার সাপোর্ট করে।

সারাংশ

Servlet API হল একটি শক্তিশালী ইন্টারফেস এবং ক্লাসের সংগ্রহ যা Java ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এটি সার্ভলেট কন্টেইনারের সাথে যোগাযোগ করার জন্য HTTP রিকোয়েস্ট এবং রেসপন্স পরিচালনা করে। Servlet API এর মধ্যে বিভিন্ন ইন্টারফেস (যেমন Servlet, HttpServlet, ServletRequest, ServletResponse) রয়েছে যা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি ডেভেলপারদের ওয়েব অ্যাপ্লিকেশন এবং সার্ভলেটস তৈরি করতে সাহায্য করে।


Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...